Computer system comprising a storage configuration with access prior to ultimate address calculation

ABSTRACT

In order to allow a request for access to a given store in a computer system having a storage configuration comprising a number of stores to be made before an ultimate address has been calculated from a number of address components, an unused address space (void) is defined between each store of the configuration and possibly also above the store of the highest order. A result of an address calculation which is situated in a void causes a cancellation of the relevant previously made request for access. It will never be necessary to change a request for access to a given store into a request for access to another store.

I United States Patent [1 1 [111 3,761,885 Van Heel Sept. 25, 1973 4] COMPUTER SYSTEM COMPRISING A 3,395,392 7/1968 Kulikauskas et a1 340/1725 S O G CONFIGURATION WIT" 3,401,376 9/1968 Barnes et a1v 340/l 72,5 ACCESS PRIOR To ULTIMATE ADDRESS ?/1969 Emerson 340/1725 {1971 Krock 340/1725 CALCULATION 3,569,938 3/1971 Eden 340/1725 [75] Inventor: Jean Joseph Marie Dudok Van Heel,

Beekbergen, Netherlands Primary ExaminerPaul .l. Henon Assistant Examiner-James D. Thomas [73] Assignee: Phlllps Corporation, New York, Aflomey prank Trifari {22] Filed: Feb. 16, 1972 [57] ABSTRACT [21] Appl No: 226,917 In order to allow a request for access to a given store in a computer system having a storage configuration 0 comprising a number ofstores to be made before an ul- 1 1 Foreign Application Priority Dam timate address has been calculated from a number of Feb. 20, 1971 Netherlands 7102289 address components, an unused address space (void) is defined between each store of the configuration and [52] U.S. Cl. 340/1725 possibly also above the store of the highest order. A re- [51 Int. Cl G1 1c 7/00 sult of an address calculation which is situated in a void [58] Field of Search 340/1725 causes a cancellation of the relevant previously made request for access. It will never be necessary to change [56] References Cited a request for access to a given store into a request for I E STATES PATENTS access to another store. 3,317,902 5/1967 Michael U 340/1725 3 Claims, 9 Drawing Figures ADDRESS REGISTERS L r- 08 I i:

DETECTORS CALCULATING R0 UNIT L 1 V .T 1 2 is r 1 I l SW1 1-- {3 srgn cnmc SW2 M M ERS l y DG (4 L 1 DG SIGNAL i i SIGNAL 1 M 1 M 2 STORES PATENTED SEPZ 5 I973 SHEU 1 (If 3 ADDRESS acsnsrsas CALCULATING SW1 SWITCHING {4 if. De sncnAL MEMBERS -SIGN Al.

DETECTORS Fig.1

B bmlbl- -b2h1 A; am 3% a2a1 C: cmcb- Fig'.2

53L1s1'.sa5

PATENTEI] SW25 o o o o o o o o P K COMPUTER SYSTEM COMPRISING A STORAGE CONFIGURATION WITH ACCESS PRIOR TO ULTIMATE ADDRESS CALCULATION The invention relates to a computer system comprising a storage configuration consisting of at least one first store having a first address space of 2' possible word locations and a second store consisting of 2"l (m I) modules, which together comprise a second address space, and furthermore comprising at least one calculating unit in which addresses of possible word locations in the storage configuration can be calculated on the basis of at least two address components.

In a computer system comprising a storage configuration of this kind, having a plurality of processing stores, accesses can be effected to two or more of the processing stores of the storage configuration at the same instant by a number of portions of the system, for example, by one or perhaps more central processors and/or one or more I/O channels. The requests for an access of this kind to a correct store at a correct instant may give rise to problems. In order to ensure that the accesses to the stores are effected consecutively without loss of time, it is necessary to make the requests for the accesses to the stores at an early instant. If this is done, the use of the computer makes it possible to ensure that requests for access to the correct stores are dealt with in the correct sequence, for example, in accordance with their priority, within the correct time and also as efficiently as possible. In practice, one or more complete or partial address components of an address to be composed are often known earlier than the complete address, which becomes known only after an address calculation, for example, an addition, has been performed. The fact that complete or partial address components are already known at an early instant can be used to good advantage for making a request for access to a given store of the configuration. The invention has for its object to provide a simple solution for making these early requests for access, difficulties in the addressing of the stores being precluded. In order to achieve this, the computer system comprising the said storage configuration is characterized in that detectors are provided in which, before the result of a said address calculation is known, it can already be determined, on the basis of at least a portion of at least one of the address com ponents, for which of the stores a request for access is required. The detectors then supply a relevant request signal. In order to avoid that a request signal for access to one of the stores would have to be changed, on the basis of the ultimate result of an address calculation, into a request signal for access to another store of the storage configuration, unused addresses are present at least between the addresses of the address space of the first store and the addresses of the address space of the second store. The unused addresses not being used by the storage configuration and forming an unused address space, are called void, the capacity of the unused address space being 2'*-2 addresses, p being at least 1 and being further determined by the number of times that a module of the second store is larger than the address space 2 of the first store. Further means are provided which, if the ultimate result of an address calculation is an address of said unused address space, this address is signalled and an error signal is supplied there with. If the result of said address calculation were to make it necessary to change a request for access to a given store into a request for access to another store, a considerable amount of time would be lost and the correct handling of previously or slightly later made requests for access to given stores would no longer be ensured.

In order to make the foregoing applicable to a computer system having a storage configuration consisting of a number ofN stores, it is necessary according to the invention that between each of the stores, I and J of the N stores a said unused address space is provided, the capacity of which is 2 -'-"-2 addresses, 2 being the total number of addresses of all preceding address spaces of the preceding stores I to l inclusive, and the addresses of the unused address spaces situated therebetween, pj being at least 1 and being further determined by the number of times that a module of the store J is larger than the total address space formed by the address spaces of all preceding stores and the unused address spaces situated therebetween.

Furthermore, according to an extension of the invention it is also possible in given cases, if there is space left in the length of the addresses which may be produced as the result of an address calculation, that another said unused address space is present above the store N of the highest order, the capacity of this unused address space being 2 '-""2 addresses, 2 being the total number of addresses of all preceding address spaces of the preceding stores 1 to N inclusive, and the addresses of the unused address spaces situated therebetween, n being at least I.

In order that the invention may be readily carried into effect, some embodiments thereof will now be described in detail, by way of example, with reference to the accompanying diagrammatic drawings, in which:

FIG. 1 is an example ofa possible diagram of the construction of the computer system according to the invention.

FIGS. 20, b, c, show three examples of an address calculation, FIGS. 2b and c showing examples according to the invention.

FIGS. 30, b, c show three numerical examples of an address calculation in a computer system according to the invention.

FIG. 4 is a diagram ofa storage configuration used in a computer system according to the invention.

FIG. 5 shows another diagram of a storage configuration of this kind.

In FIG. I, the letters AR denote a register for an address component A, BR is a register for an address component B. The letters AI and BI denote inputs of these registers, via which the address components from other parts of the computer system, shown here only as far as is necessary for explaining the invention, can be applied to the registers AR and BR. Additional registers for address components may be present, but these are not shown as they have no bearing on the principle. Calculations with the address components A and H, for example, an addition, can be performed in a calculating unit R0. SW1 is a switching member via which addresses for a store MI, said addresses originating from the calculating unit R0, can be applied to the store M I. Similarly, SW2 is a switching member via which addresses for a store M2, originating from R0, can be applied to the store M2. M1 and M2 are stores of the storage configuration M of the computer system. Requests for access to a store M1 or M2 are applied to the relevant switching member SWI or SW2. According to the invention, the computer system shown in FIG. I comprises detectors D, which in this case consist of a portion DA and a portion DB, in which, as is shown by way of example, it can be determined, on the basis of a portion of the address component A or B, for which of the stores M1 or M2 a request for access is necessary. If a request is necessary for M], a command line 11 supplies a request signal to the switching member SW], and if a request is required for M2, a command line 12 supplies a request signal to the switching member SW2. In the system it can thus be taken into account that, after an address calculation in the calculating unit R0, an access to the store M1 or M2 is required. Finally, FIG. I also shows an indicator D6 which are in this case connected to the switching member SW] and in which it is signalled that the ultimate result of an address calculation is an address of said unused address space. A signalling of this kind in DG ensures, in this example via line 13, that the associated and previously made request is cancelled in the switching member SW1. A signalling of this kind generally supplies an error signal to the computer system to indicate that something is wrong. Similarly, a means DG' may be provided which is connected to the switching member SW2 and in which it is signalled that the ultimate result of an address calculation is an address of the unused address space which may be present above the store M2 which is of the highest order in this case. A signalling of this kind produces an error signal via line 14, which is now applied, for example, to the switching member SW2 so that the relevant, previously made request for store M2 is cancelled. DG' may also serve for a given other signalling, which will be described with reference to FIG. 2b. Finally, instead of or in addition to D6 there may be a command line 15 which can cancel, from the calculating unit R0, a request for store M2; see also the description with reference to FIG. 2b.

The operation will be described with reference to the FIGS. 2. It is to be noted that in FIG. 1, for example, the detector DA of D may be dispensed with if the addressing structure in the computer system is such that only the address component B determines to which of the stores of M a request is to be made. It can thus be determined at an early stage, on the basis of the address component B, which store this will be. See hereinafter.

The principle of the invention will be described with reference to three examples of address calculations which are shown in FIGS. 2a, b, c.

FIG. 2a shows an address component B comprising address bits bm, bl, b2, bl, and an address component A comprising address bits am, 01, a2, 01.

Addition of the two address components B and A results in an address C. C comprises address bits cl, c2, cl, cm. Assume that the bits bm and am are portions of the address components B and A, on the basis of which it can be determined, before the result C is known, for which store M1 or M2 a request for access is required. Assume that a request for store MI is required when but and am are both equal to O. The 0- state of bm is detected in DB, that of am in DA. An AN D-function gate (not shown) provided, for example, in DB, then supplies a signal to line 11. A request for store M] has thus been made to switching member SW 1. For example, ifone of the two bits but or am were 1, this would have been signalled in DB or DA and in that case an OR-function gate (not shown) provided, for example, in DB, would supply a signal to line (2. A

request for store M2 has thus been made to switching member SW2.

The following may occur if bm am 0: upon addition of the components B and A a transfer occurs from bit cl to cm, i.e., cm becomes 1. This means that the result is an address which is not situated in store Ml but in store M2. Consequently, the request for store Ml would have to be changed into a request for store M2. According to the invention this is not permissible and, therefore, an address structure as shown in FIG. 2b is chosen. Therein, component B comprises an additional bit bp and component A comprises an additional bit up. In this case, a request for access to store MI will be produced when bm and bp as well as am and up are 0. If a transfer occurs from cl to cp in the formation of the result C, cp becomes I. This cp l is signalled in D6, and this cp 1 signal ensures that the request made via line 11 for access to store M1 is cancelled. This is possible because cm is still equal to 0 so that the request for store Ml need not be changed into a request for store M2, In other words, the result of the calculation was an address C situated in an unused address space produced by the use of the bits ap, bp, cp. However, if bm or am l in the example of FIG. 2b or, as may be the case in given address structures, either bp and/or up I, it will be detected in D, i.e., in DB and/or DA, that a request for store M2 is required. The result C may then assume different forms: I) cm l and cp l or 0, caused or not by a transfer from bit cl. This is a correct address in store M2 and the previously made request was justified', 2) in a feasible addressing structure cm may be 0 and cp may be I, which again means that an address is produced in the used address space, so that the previously made request for store M2 is to be cancalled. This can be effected from the means D6, which signals in SW2 that cm 0 and cp 1, thus supplying a signal via line 14', 3) em l or 0, cp l or 0, and a transfer occurs from cm (i.e., to the left). This means that an address is produced outside the total possible address space, which is determined by the number of bits cl to cm. A transfer of this kind may, for example, drop out of" the result register in the calculating unit, thus ensuring that a request made in SW2 for M2 is cancelled. See line 15 in FIG. 1.

FIG. 2c shows that in the case of the latter transfer from bit cm another solution is possible: there is still an unused address space above the address space of store M2, which is denoted by bit bn, an and on, respectively. If bn and/or an are I already prior to the address calculation, nothing need be calculated and there will be no request. However, a situation of this kind will be discovered and eliminated in the computer system at an earlier stage yet. If cn becomes l in an address calculation, due to a transfer from cm, this is signalled, for example, in D6, and the request for store M2 is cancelled via line l4.

FIGS. 30, b and c show some further examples for the case shown in FIG. 2b. The following addressing structure is often used in practice: address component B is a basic address which indicates in principle in which of the stores a total address, being the sum of the basic address and an address component A, also termed, for example, logic address, will have to be found. Consequently, in that case the situation bm 0, bp I, will not occur. It may be that a logic address is never longer than I bits (al, a2, 0!), so that up and am always equal 0. Consequently, the following cases may occur:

FIG. 3a) bm bp =0, signalled in DB (DA is not necessary), results in a request signal for SW1, so for store M1.

The ultimate result C may be 00c! so an address in MI (the request was correct), or 0/01 due to a transfer, so an address in the unused address space. In this case cp l is signalled in DG and the request is cancelled. FIG. 3b): bm 1, bp 0, so the basic address indicates that an access to store M2 is desired. A signal on line 12 from DB to SW2 provides a request for M2. The result C may be c] or llcl so in both cases a request for M2. FIGS. 30): bm 1, bp 1, so again a request for M2. The result may be llcl so this was a justified request for M2. Due to a transfer, the result may also be 00c! and another transfer to the left. This transfer may drop out of" the calculating unit register, and may cancel the request in SW2 via line (FIG. 1) or, if bits an, bn and/or only on were present, this cn I would be signalled in the D0 which is then provided, so that the request for M2 would thus be cancelled via 14.

The following is to be noted as regards the various address spaces and their capacities. The store Ml comprises an address space which is determined by the number of! bits. The number of possible word locations, consequently, is 2. In the examples of FIGS. 2 and 3, the store M2 has an address space which is determined by the number of bits l+p+m (it was assumed that p l, m l). The number of possible word locations in M2, and hence the capacity of this address space of M2 is, therefore, 2*"2 (2"'l) 2", as the addresses 2 of the address space for M] and the addresses of the unused space situated between M1 and M2, comprising 2 2 addresses, must be subtracted from the total 2*'"'.

In general it may be stated that the number of bits p and also n must be at least equal to l in order to cope with the above mentioned transfer from cl or from cm, respectively. In addition, the store M2 may comprise 2"'l modules having equally large address spaces. Consequently, the number of bits m is determined by the number of desired modules. If this number is three, m 2 and the combinations 01, l0, 11 are reserved for distinguishing each of these three modules, while the remaining combination 00 is necessary for knowing that addressing is to take place in store M 1 (see above).

The foregoing means that for addressing in one module of M2 a space of 2 addresses is available, as one of the bits m is 1, and the further bits l+p are then available for addressing in such a module. Because p is at least equal to 1, the capacity of such a module of M2 can at least be 2 2 =2 two times that of the store Ml. If such a module is larger, for example, four times larger than store Ml, p will have to be equal to 2 bits, etc.

FIG. 4 shows an example of a storage configuration as used in a computer system according to the invention. M l is a first store consisting of a first address space of 2 possible word locations, Ml itself, may, of course, also be composed of modules M11, M12, etc. (see dotted line in FIG. 4), but this is of no further importance. M2 is a second store consisting a 2"-] modules, m 3, so seven modules, to-gether comprising a second address space of 2"(2"l possible word locations, 2" word locations being available per module. In this example p equals two bits, as in this case, by way of example, a module M21, M22, M27 of store M2 is 2 four times as large as the said first address space of M1. Also provided is the unused address space, void G1, between M1 and M2. The capacity thereof is 2' 2 2'(2--l so in this case 3 X 2 or three times as large as the first address space, which is the store M]. In total M1 and G1 are exactly as large (2*") as one module of M2. So far the entire storage configuration comprises a total address space of 2""' addresses. If another unused address space, second "void" G2, is required above the store M2, it is at least as large as the entire address space of 2 addresses formed thus far: i.e., n I. This n I bit thus serves for coping with a transfer from the preceding address space. The address space ultimately comprises 2"*"'"" addresses.

The right-hand portion of FIG. 4 shows the appearance of the addresses for the various portions of the storage configuration, including the "voids. For each space: store Ml, void G1, modules M21 M27 of M2 and void G2, the minimum and the maximum address is stated. In the computer system according to the invention, the stores M1 and M2 may be of the same or of a different kind. If they are of the same kind, for example, magnetic cores, or integrated stores, the invention set forth can be advantageously used, if the access times of these stores differ. M1 is, for example, a comparatively slow store and M2 is, for example, a comparatively fast store. It then makes sense to split the requests for access to the one store and those for access to the other store. If the stores are of a different kind, not only a difference in access time but also the difference in operation of those stores is an argument for splitting up the requests for access and to distribute them over the various above-mentioned switching members SW.

It is feasible that in practice not two but, for example, four stores are to be distinguished in one and the same configuration. The solution is then fully analogous to that set forth for two stores M1 and M2, taking into account that each unused address space situated between a store I and a store .I is to be at least as large as the total preceding address space (25 addresses) and is furthermore so many times larger than this total address space as a module of that store is larger than this total address space.

This is represented again in the form of a diagram in FIG. 5. The configuration comprises four stores Ml M4. In FIG. 5 a void is provided between each store: G1, G2, G3. A fourth void, above store M4 yet, is not present in this case.

The portion p2 (points towards the next store) is at least I, and as a module of store M2 is only twice as large as store Ml, p2 l is also sufficient. M2 comprises three modules: M2l, M22, and M23, so that for m2 =a number of2 bits are required. The next void G2 is at least equal to 2' =2 in which p3 1. However, p3 2 is required, because a module of store M3 is four times as large as the address space thus far, i.e., 2' "*"*(=2 As there is only one module of M3, m3 I is sufficient. Void G3 in this Figure is as large as the total pre-ceding address space comprising 2''"'" 2 addresses, because a module of store M4 is only twice as large as the address space up to this void G3. In this case p4 l is minimum and sufficient. There is only one module of M4, so m4 I bit suffices. The addresses at the beginning and the end of cach portion of the complete storage configuration cess is required, said determination being based are also given in FIG. 5. upon at least a portion of at least one of said ad- What is claimed is: dress components, said detection means after havl. A computer system, comprising: ing made its determination, then supplying a relea storage configuration having at least a first store vant request signal to said switching means; and

with an address space of 2' possible word locations, a second detection means connected to said switchand at least a second store consisting of 2"I modules, where m i: 1, said modules together providing a second address space, said storage configing means for signalling that an ultimate result of said address calculating unit is an address of said unused address space.

uration further containing an unused address space defined as void, between addresses of the address space of the first store, and addresses of the 0 2. A computer system as claimed in claim 1, wherein said storage configuration has N stores, and between each of the stores I and J of the N stores, an unused adaddress space of the second store, said void havdress space is provided. the capacity of which is ing a capacity of 2*"2 addresses, where p is at Z-""*" 'Z addresses. 2* being the total number least I said unused address space being further deof addresses of all preceding address spaces of precedtermined by how many number of times larger a ing stores 1 to l, and the addresses of unused address module of the second store is, compared to the adspaces situated therebetween, pj being at least I, and dress space 2 of said first store; said unused spaces being further determined by the a calculating unit connected to said storage configunumber of times that a module of the store J is larger ration wherein possible word locations in said storthan the total address space formed by the address age configuration may be calculated on the basis of spaces of all preceding stores and and the unused adat least two address components; dress spaces situated therebetween.

switching means interdeposed between said calculat- 3. A computer system as claimed in claim 2, wherein ing unit and said storage configuration; another unused address space is provided above the at least two address registers, each supplying one of store N, store N being of the highest order, and having said address components for calculation of the a capacity Z 2 addresses. I-"' being the word location in said storage configuration; the total number of addresses of all preceding address detection means interdeposed between said address spaces of the preceding stores I to N and the addresses registers and said switching means for determining, of the unused address spaces situated therebetwecn, n before an address calculation is made in said calcubeing at least i, lating unit, for which of the stores a request for ac- 

1. A computer system, comprising: a storage configuration having at least a first store with an address space of 2l possible word locations, and at least a second store consisting of 2m- 1 modules, where m > OR = 1, said modules together providing a second address space, said storage configuration further containing an unused address space defined as ''''void'''', between addresses of the address space of the first store, and addresses of the address space of the second store, said ''''void'''' having a capacity of 2l p- 2l addresses, where p is at least 1, said unused address space being further determined by how many number of times larger a module of the second store is, compared to the address space 2l of said first store; a calculating unit connected to said storage configuration wherein possible word locations in said storage configuration may be calculated on the basis of at least two address components; switching means interdeposed between said calculating unit and said storage configuration; at least two address registers, each supplying one of said address components for calculation of the word location in said storage configuration; detection means interdeposed between said address registers and said switching means for determining, before an address calculation is made in said calculating unit, for which of the stores a request for access is required, said determination being based upon at least a portion of at least one of said address components, said detection means after having made its determination, then supplying a relevant request signal to said switching means; and a second detection means connected to said switching means for signalling that an ultimate result of said address calculating unit is an address of said unused address space.
 2. A computer system as claimed in claim 1, wherein said storage configuration has N stores, and between each of the stores I and J of the N stores, an unused address space is provided, the capacity of which is 2 Li pj - 2 Li addresses, 2 Li being the total number of addresses of all preceding address spaces of preceding stores 1 to I, and the addresses of unused address spaces situated therebetween, pj being at least 1, and said unused spaces being further determined by the number of times that a module of the store J is larger than the total address space formed by the address spaces of all preceding stores and and the unused address spaces situated therebetween.
 3. A computer system as claimed in claim 2, wherein another unused address space is provided above the store N, store N being of the highest order, and having a capacity 2 Ln n- Ln addresses, 2 Ln being the total number of addresses of all preceding address spaces of the preceding stores 1 to N and the addresses of the unused address spaces situated therebetween, n being at least
 1. 